home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol029 / romchar.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  1.3 KB  |  51 lines

  1. 80  ' THIS PROGRAM CAN BE FOUND IN THE JULY'82 ISSUE OF CREATIVE COMPUTING.
  2. 90  '
  3. 100 ' ROMCHAR - display dot matrix characters from ROM patterns
  4. 110 ' Will Fastie -- Revised 24 march 1982
  5. 120 DEFINT A-Z
  6. 130 DIM COLMASK(8)
  7. 140 FOR I=0 TO 7: COLMASK(I+1)=2^(7-I): NEXT I
  8. 150 DOTCHAR =219
  9. 160 DOTSIZE=1
  10. 170 DOT$=STRING$(DOTSIZE,DOTCHAR)
  11. 180 GOSUB 490
  12. 190 DEF SEG=&HF000
  13. 200 BASEADR=&HFA6E
  14. 210 BYTESPERCHAR=8
  15. 220 KEY OFF
  16. 230  ' Main loop
  17. 240  CLS
  18. 250 CHAR$=INKEY$: IF CHAR$="" THEN 250
  19. 260 IF CHAR$=" " THEN CLS: END
  20. 270 CODE=ASC(CHAR$)
  21. 280 IF CODE >= 128 THEN BEEP: GOTO 230
  22. 290 ADR = BASEADR+(CODE*BYTESPERCHAR)
  23. 300 CLS
  24. 310 X=8
  25. 320 Y=(SCREENWIDTH-(8*DOTSIZE))/2
  26. 330 GOSUB 350
  27. 340 GOTO 250
  28. 350 ' Subroutine to display character
  29. 360 FOR ROW=1 TO 8
  30. 370   ROWVAL=PEEK(ADR+(ROW-1))
  31. 380   FOR COL=1 TO 8
  32. 390     COLMASK= COLMASK(COL)
  33. 400     IF (ROWVAL AND COLMASK) <> 0 THEN  GOSUB 450
  34. 410   NEXT COL
  35. 420 NEXT ROW
  36. 430 LOCATE 1,1
  37. 440 RETURN
  38. 450 ' Locate to bit position and display giant pixel!
  39. 460 LOCATE X+(ROW-1),Y+(COL-1)*DOTSIZE
  40. 470 PRINT DOT$;
  41. 480 RETURN
  42. 490 ' Initialize display
  43. 495 WIDTH 80
  44. 500 SCREENWIDTH=80
  45. 510 RETURN
  46. ROW-1),Y+(COL-1)*DOTSIZE
  47. 470 PRINT DOT$;
  48. 480 RETURN
  49. 490 ' Initialize display
  50. 495 WIDTH 80
  51. 500 SCREENWIDTH=8